// 闭包就是能够读取其他函数内部变量的函数
// 闭包的用途：可以读取函数内部的变量 并且让这些变量的值始终保持在内存中

// 输出全为 10
for (var i = 0; i < 10; i++) {
  setTimeout(function () {
    console.log(i)
  }, 50)
}

// 输出相应的输出
for (var i = 0; i < 10; i++) {
  (function (x) {
    setTimeout(function () {
      console.log(x)
    }, 50)
  })(i)
}